<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>


    <input type="text" placeholder="年" id="year">
    <input type="text" placeholder="月" id="month">
    <input type="text" placeholder="日" id="day">
    <button id="btn">判断</button>


    <script>

        // 获取对象   谁cv谁狗
        var oYear = document.getElementById('year') ;
        var oMonth = document.getElementById('month') ;
        var oDay = document.getElementById('day') ;
        var oBtn = document.getElementById('btn') ;
        // 绑定事件
        oBtn.onclick = function() {
            // alert(666);
            // 获取年份
            var y = oYear.value ;
            // 合法
            if(y >= 1000 && y < 10000 && y % 1 === 0) {
                // 获取月份
                var m = oMonth.value ;
                // 合法 1-12整数
                if(m >= 1 && m <= 12 && m % 1 === 0) {
                    // 获取日期
                    var d = oDay.value ;
                    // 合法  1-？

                    // 声明变量存最大的天数
                    var maxDay = 31;
                    // 判断月份  字符串
                    if(m == 1 || m == 3 || m == 5 || m == 7 || m == 8 || m == 10 || m == 12) {
                        maxDay = 31 ;
                    }
                    else if(m == 4 || m == 6 || m == 9 || m == 11) {
                        maxDay = 30 ;
                    }
                    else if(m == 2) {
                        // 判断平年和闰年
                        if(y % 4 === 0 && y % 100 !== 0 || y % 400 === 0) {
                            maxDay = 29
                        }
                        else {
                            maxDay = 28 ;
                        }
                    }


                    if(d >= 1 && d <= maxDay && d % 1 === 0) {
                        alert('年月日输入正确');

                    }
                    else {
                        alert('日期不合法');
                    }
                }
                else {
                    alert('月份不合法');
                }

            } 
            else {
                alert('年份输入不正确') ;
            }
        }




        // 遇到的问题
        //    总是忘记加引号！！！
        //    整数  %1  不是/1
        //    判断月份的时候   输入框的值是字符串   m == 1    不能写全等


        



    </script>

    
</body>
</html>